home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / docs / corsoguide / finestre-15.txt < prev    next >
Text File  |  1992-09-03  |  5KB  |  101 lines

  1. Le finetsre (window)
  2.  
  3. La finestra è una zona rettangolare dello schermo che funziona come un
  4. piccolo terminale, e permette di interagire con l'utente; la window dispone
  5. di diversi gadgets (bottoni) standard di sistema che possono essere
  6. specificati dal programmatore all'apertura di quest'ultima:
  7.  
  8. Close Gadget:
  9. Il gadget in alto a sinistra che permette la chiusura della finestra
  10.  
  11. Drag Bar:
  12. La barra titolo che permette il trascinamento della finestra
  13.  
  14. Zoom Gadget:
  15. Il gadget a sinistra tra quelli in alto a destra, permette di scegliere tra
  16. due dimensioni della finestra (se la finestra è abilitata a cambiare la sua
  17. grandezza)
  18.  
  19. Depth Gadget:
  20. Il gadget a destra fra quelli in alto a destra, permette di far passare
  21. avanti o dietro la finestra, rispetto a tutte le altre
  22.  
  23. Sizing Gadget:
  24. Il gadget in basso a destra, permette di cambiare la dimensione della
  25. finestra.
  26.  
  27. La finestra può essere attiva (active), nel qual caso il bordo viene colorato
  28. di blu; esiste una sola finestra attiva per volta, dato che selezionando
  29. una finestra l'utente decide l'input-focus (vale a dire su quale finestra
  30. far convergere i dati di ingresso quali tastiera, mouse ecc.).
  31. Per aprire la finestra esistono tre diverse funzioni di intuition, che
  32. ricoprono gli stessi ruoli di quelle viste per lo schermo:
  33.  
  34. Finestra = OpenWindowTagList(NuovaFinestra,listatags);
  35. Finestra = OpenWindowTags(NuovaFinestra,tagId1,tagVal1,...);
  36. Finestra = OpenWindow(NuovaFinestra);
  37.  
  38. "Finestra" è il puntatore alla struttura Window relativa alla finestra aperta
  39. (viene ritornato NULL in caso non sia stato possibile aprirla);
  40. "NuovaFinestra" è il puntatore alla struttura NewWindow o ExtNewWindow
  41. contenente i parametri della finestra da aprire (dal 2.0 non ha più
  42. importanza utilizzare questo parametro); mentre "listatags" in
  43. OpenWindowTagList o "tagId1,tagVal1,..." in OpenWindowTags sono liste di tag
  44. per i parametri della finestra passate nelle due maniere viste la volta
  45. scorsa; OpenWindow è la vecchia funzione per l'apertura di una finestra che,
  46. utilizzando la struttura ExtNewWindow con flag WFLG_NW_EXTENDED attivato
  47. permette la compatibilità con versioni del sistema inferiore al v36.
  48. Per chiudere una finestra aperta, bisogna
  49. chiamare la funzione:
  50.  
  51. CloseWindow(Finestra);
  52.  
  53. dove "Finestra" è il puntatore alla struttura Window ritornata da
  54. OpenWindowTags. Per indicare su quale schermo aprire la finestra, occorre
  55. specificare nella OpenWindowTags il tag WA_CustomScreen con il puntatore allo
  56. schermo come parametro; se invece si vuole aprire la finestra su schermo
  57. pubblico si può indicare il tag WA_PubScreen con il puntatore allo schermo
  58. pubblico (ottenuto con LockPubScreen), oppure utilizzando il tag
  59. WA_PubScreenName e passando il nome dello schermo pubblico; se non viene
  60. specificato nessun tag che indichi quale schermo utilizzare, oppure
  61. WA_PubScreenName con parametro NULL, la finestra verrà aperta sullo schermo
  62. pubblico di default (normalmente il WorkBench).
  63. Esistono tre tipi particolari di finestre, che possono essere impostati
  64. mediante gli attributi all'apertura di quest'ultime; da notare che un tipo
  65. non esclude l'altro, per cui una finestra può appartenere a tutte e tre le
  66. categorie e beneficiare di tutte le caratteristiche.
  67.  
  68. BackDrop window
  69. Vale a dire finestra che "cade" dietro; una finestra con questa
  70. caratteristica risulta sempre dietro alle altre, anche quando l'utente agisce
  71. sul gadget di profondità; la finestra può però essere davanti ad altre di tipo
  72. backdrop. L'unico gadget di sistema che questo tipo di finestre può avere è
  73. quello di chiusura, mentre non vi sono limitazioni per gadgets creati
  74. dall'applicazione. Questo tipo di finestre può servire ad inserire delle
  75. immagini di sottofondo che sembrino disegnate direttamente sullo schermo
  76. (soprattutto se la finestra è anche di tipo borderless); per attivare
  77. questa caratteristica utilizzare l'attributo WA_Backdrop.
  78.  
  79. BorderLess window
  80. Una finestra borderless è una finestra senza bordi; vale a dire
  81. che i bordi non esistono e non vengono rinfrescati, per cui evitate di
  82. utilizzare il titolo per la finestra, o di utilizzare gadget di sistema,
  83. poiché ciò provocherebbe il rinfresco di alcune zone dei bordi; evitate di
  84. utilizzare finestre borderless che coprano tutto lo schermo, perché
  85. potrebbero confondere l'utente; un applicazione tipica è quella accennata
  86. prima con le finestre backdrop; per utilizzare questa caratteristica
  87. impostare l'attributo WA_Borderless.
  88.  
  89. GimmeZeroZero window
  90. Le finestre GimmeZeroZero provvedono a creare un layer (la struttura per la
  91. memorizzazione dell'immagine e per il suo rinfresco) separato per il bordo;
  92. normalmente se il programmatore disegna o compie una qualunque operazione
  93. grafica sulla finestra, deve tener conto del bordo (infatti scrivendo il
  94. pixel di cordinate 0,0 si interviene nel primo pixel in alto a sinistra sul
  95. bordo); invece se la finestra è di tipo GimmeZeroZero, il programmatore può
  96. intervenire solo sul contenuto della finestra senza intaccare il bordo;
  97. attivando il GimmeZeroZero in una finestra si aumentano i tempi di
  98. rinfresco video, in quanto il sistema deve gestire due layers per una
  99. finestra; per attivare questa caratteristica, utilizzare il tag
  100. WA_GimmeZeroZero.
  101.